<?php

namespace admin;

use Session;
use View;
use Redirect;
use HomeController;
use MonHoc;
use Validator;
use Input;
use DB;
use URL;
class MonHocController extends \BaseController {
    
    public function capnhatchuong(){
        if (HomeController::ktDangNhap()) {
            if (!empty(Input::get('data'))) {
                echo Input::get('data');
                // $array = explode("|", Input::get('data')); // [0] id [1] tên chương
                // if (!empty($array[1])) {
                    // $mh = new MonHoc();
                    // $mh->TEN_MON = $array[1];
                    // $mh->PARENT_ID = $array[0];
                    // $mh->GHICHU_ALIAS = $array[2];
                    // $mh->TRANG_THAI = 1;
                    // $stt_max = MonHoc::where('PARENT_ID', '=', $array[0])->max('THU_TU') + 1;
                    // $mh->THU_TU = $stt_max;
                    // $mh->NGUOI_TAO = Session::get('account');
                    // $mh->save();
                    // echo "ok";
            } else
                echo "nook";
        }//Nếu chưa đăng nhập quay lại trang đăng nhập 
        else {
            return View::make("admin.login");
        }
    }
    
    public function xoachuong($id) {
        echo $id;
        if (HomeController::ktDangNhap()) {
            DB::table('tn_mon_hoc')->where('ID', '=', $id)->delete();
            return Redirect::to(URL::previous());
        }
        //Nếu chưa đăng nhập quay lại trang đăng nhập 
        else {
            return View::make("admin.login");
        }
    }

    public function themchuong() {
        if (!empty(Input::get('data'))) {
            $array = explode("|", Input::get('data')); // [0] id [1] tên chương
            if (!empty($array[1])) {
                $mh = new MonHoc();
                $mh->TEN_MON = $array[1];
                $mh->PARENT_ID = $array[0];
                $mh->GHICHU_ALIAS = $array[2];
                $mh->TRANG_THAI = 1;
                $stt_max = MonHoc::where('PARENT_ID', '=', $array[0])->max('THU_TU') + 1;
                $mh->THU_TU = $stt_max;
                $mh->NGUOI_TAO = Session::get('account');
                $mh->save();
                echo "ok";
            } else
                echo "nook";
        }
    }
    public function xoatatca() {

        if (!empty(Input::get('idArray'))) {
            $array = explode("-", Input::get('idArray'));
            foreach ($array as $item) {
                DB::table('tn_mon_hoc')->where('ID', '=', $item)->delete();
            }
            echo 'ok';
        }
    }

    public function battat($onoroff, $id) {
        $on_off = 0;
        if (HomeController::ktDangNhap()) {
            if ($onoroff == 1) {
                $on_off = 0;
                //on
            } else {
                //off
                $on_off = 1;
            }
            DB::table('tn_mon_hoc')->where('ID', '=', $id)
                    ->update(array('TRANG_THAI' => $on_off));
            return Redirect::to('admin/monhoc');
        }
        //Nếu chưa đăng nhập quay lại trang đăng nhập 
        else {
            return View::make("admin.login");
        }
    }
    public function battatchuong($onoroff, $id) {
//        $on_off = 0;
        if (HomeController::ktDangNhap()) {
            echo $onoroff;
            echo $id;
            if ($onoroff == 1) {
                $on_off = 0;
                //on
            } else {
                //off
                $on_off = 1;
            }
            DB::table('tn_mon_hoc')->where('ID', '=', $id)
                    ->update(array('IN_DAM_CHUONG' => $on_off));
           return Redirect::to(URL::previous());
        }
        //Nếu chưa đăng nhập quay lại trang đăng nhập 
        else {
            return View::make("admin.login");
        }
    }

    /**
     * 
     */
    public function swap($upordown, $swapbeginid) {
        $up_down = 0;
        if (HomeController::ktDangNhap()) {
            if ($upordown == 1) {
                $up_down = 1;
                //up
            } else {
                //down
                $up_down = -1;
            }
            $up_row = MonHoc::whereNull('PARENT_ID')->where('THU_TU', '=', $swapbeginid + $up_down)->first();
            $current_row = MonHoc::whereNull('PARENT_ID')->where('THU_TU', '=', $swapbeginid)->first();
            DB::table('tn_mon_hoc')->where('ID', '=', $up_row['ID'])
                    ->update(array('THU_TU' => $swapbeginid));
            DB::table('tn_mon_hoc')->where('ID', '=', $current_row['ID'])
                    ->update(array('THU_TU' => $swapbeginid + $up_down));
            return Redirect::to('admin/monhoc');
        }
        //Nếu chưa đăng nhập quay lại trang đăng nhập 
        else {
            return View::make("admin.login");
        }
    }
public function swapchuong($idmonhoc, $upordown, $swapbeginid) {
//        echo $idmonhoc;
//        echo $upordown;
        echo $swapbeginid;  
        $up_down = 0;
        if (HomeController::ktDangNhap()) {
            if ($upordown == 1) {
                $up_down = 1;
                //up
            } else {
                //down
                $up_down = -1;
            }
            echo "<br/>";
            $up_row = MonHoc::where('PARENT_ID','=',$idmonhoc)->where('THU_TU', '=', $swapbeginid + $up_down)->first();
            echo $up_row['ID'];
            $current_row = MonHoc::where('PARENT_ID','=',$idmonhoc)->where('THU_TU', '=', $swapbeginid)->first();
            echo $current_row['ID'];
            DB::table('tn_mon_hoc')->where('ID', '=', $up_row['ID'])
                    ->update(array('THU_TU' => $swapbeginid));
            DB::table('tn_mon_hoc')->where('ID', '=', $current_row['ID'])
                    ->update(array('THU_TU' => $swapbeginid + $up_down));
             return Redirect::to(URL::previous());
        }
        //Nếu chưa đăng nhập quay lại trang đăng nhập 
        else {
            return View::make("admin.login");
        }
    }
    /**
     * Display a listing of the resource.
     * blade template engine
     * @return Response
     */
    public function index() {
        //Kiểm tra đăng nhập
        if (HomeController::ktDangNhap()) {
            $chucnang = 'admin.monhoc';
            $tenchucnang = 'Môn Học';
            //LẤY DANH SÁCH MÔN HỌC
            $store = MonHoc::whereNull('PARENT_ID')
                            ->orderBy('THU_TU', 'DESC')->paginate(5); //->get();

            return View::make("admin.admin")
                            ->with('chuc_nang', $chucnang)
                            ->with('ten_chuc_nang', $tenchucnang)
                            ->with('store', $store);
        }
        //Nếu chưa đăng nhập quay lại trang đăng nhập 
        else {
            return View::make("admin.login");
        }
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return Response
     */
    public function create() {
        // //Kiểm tra đăng nhập
        if (HomeController::ktDangNhap()) {
            $chucnang = 'admin.monhoc_add';
            $tenchucnang = 'Thêm Môn Học';

            return View::make("admin.admin")
                            ->with('chuc_nang', $chucnang)
                            ->with('ten_chuc_nang', $tenchucnang);
        } else {
            return View::make("admin.login");
        }
    }

    /**
     * Store a newly created resource in storage.
     *
     * @return Response
     */
    public function store() {
        //
        // validate
        // read more on validation at http://laravel.com/docs/validation
        $rules = array(
            'TEN_MON' => 'required',
            'TAG_ID' => 'required',
        );
        $messages = array(
            'TEN_MON.required' => 'Trường Tên Môn bắt buộc nhập.',
            'TAG_ID.required' => 'Trường Tag ID bắt buộc nhập.'
        );
        $validator = Validator::make(Input::all(), $rules, $messages);

        // process the login
        if ($validator->fails()) {
            return Redirect::to('admin/monhoc/create')
                            ->withErrors($validator)
                            ->withInput();
            // ->withInput(Input::except('password')); điền lại các giá trị đã nhập ngoài trừ trường password
        } else {
            // echo UtilController::removeSigns(Input::get('ghi_chu'));
            $mh = new MonHoc();
            $mh->TEN_MON = Input::get('TEN_MON');
            $mh->TAG_ID = Input::get('TAG_ID');
            $mh->TRANG_THAI = 1;
            $stt_max = MonHoc::whereNull('PARENT_ID')->max('THU_TU') + 1;
            $mh->THU_TU = $stt_max;
            $mh->NGUOI_TAO = Session::get('account');
            $mh->GHI_CHU = Input::get('GHI_CHU');
            $mh->save();
            Session::flash('message', 'Tạo mới môn học "' . Input::get('TEN_MON') . '" thành công!');
            return Redirect::to('admin/monhoc');
        }
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return Response
     */
    public function show($id) {
        //return View::make('admin.add_monhoc');
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return Response
     */
    public function edit($id) {
        if (HomeController::ktDangNhap()) {
            $chucnang = 'admin.monhoc_add';
            $tenchucnang = 'Sửa Môn Học';

            // get the MonHoc
            $mh = MonHoc::find($id);
            //get danh sach Chuong
            $chuong = MonHoc::where('PARENT_ID', '=', $id)->orderBy('THU_TU')->get();
            // show the edit form and pass the nerd
            return View::make('admin.admin')
                            ->with('mon_hoc', $mh)
                            ->with('chuc_nang', $chucnang)
                            ->with('ten_chuc_nang', $tenchucnang)
                            ->with('chuong', $chuong);
        } else {
            return View::make("admin.login");
        }
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  int  $id
     * @return Response
     */
    public function update($id) {
        //
        // validate
        // read more on validation at http://laravel.com/docs/validation
        $rules = array(
            'TEN_MON' => 'required',
            'TAG_ID' => 'required',
        );
        $messages = array(
            'TEN_MON.required' => 'Trường Tên Môn bắt buộc nhập.',
            'TAG_ID.required' => 'Trường Tag ID bắt buộc nhập.'
        );
        $validator = Validator::make(Input::all(), $rules, $messages);

        // process the login
        if ($validator->fails()) {
            return Redirect::to('admin/monhoc/' . $id . '/edit')
                            ->withErrors($validator)
                            ->withInput();
            // ->withInput(Input::except('password')); điền lại các giá trị đã nhập ngoài trừ trường password
        } else {
            // echo UtilController::removeSigns(Input::get('ghi_chu'));
            $mh = DB::table('tn_mon_hoc')->where('ID', '=', $id)
                    ->update(array('TEN_MON' => Input::get('TEN_MON'),
                'TAG_ID' => Input::get('TAG_ID'),
                'GHI_CHU' => Input::get('GHI_CHU')));
            //$mh = MonHoc::find($id);
            // $mh->TEN_MON = Input::get('TEN_MON');
            // $mh->TAG_ID  = Input::get('TAG_ID');
            // $mh->GHI_CHU = Input::get('GHI_CHU');
            // $mh->save();
            Session::flash('message', 'Sửa môn học "' . Input::get('TEN_MON') . '" thành công!');
            return Redirect::to('admin/monhoc');
        }
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return Response
     */
    public function destroy($id) {
        // echo $id;
        // delete
        DB::table('tn_mon_hoc')->where('ID', '=', $id)->delete();

        // 	// redirect
        Session::flash('message', 'Xóa môn học thành công!');
        return Redirect::to('admin/monhoc');
    }

}
